{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "RZvR3zC9KXGZ"
   },
   "source": [
    "##### Copyright 2020 The Cirq Developers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "cellView": "form",
    "id": "0rUk5P-AKZeB"
   },
   "outputs": [],
   "source": [
    "#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n",
    "# you may not use this file except in compliance with the License.\n",
    "# You may obtain a copy of the License at\n",
    "#\n",
    "# https://www.apache.org/licenses/LICENSE-2.0\n",
    "#\n",
    "# Unless required by applicable law or agreed to in writing, software\n",
    "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
    "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
    "# See the License for the specific language governing permissions and\n",
    "# limitations under the License."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "S4Y3oEnHKda8"
   },
   "source": [
    "# QAOA: Max-Cut"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "FHMnJvAkKfjS"
   },
   "source": [
    "<table class=\"tfo-notebook-buttons\" align=\"left\">\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://www.example.org/cirq/tutorials/qaoa\"><img src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" />View on QuantumLib</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://colab.research.google.com/github/quantumlib/Cirq/blob/master/docs/tutorials/qaoa.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://github.com/quantumlib/Cirq/blob/master/docs/tutorials/qaoa.ipynb\"><img src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" />View source on GitHub</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a href=\"https://storage.googleapis.com/tensorflow_docs/Cirq/docs/tutorials/qaoa.ipynb\"><img src=\"https://www.tensorflow.org/images/download_logo_32px.png\" />Download notebook</a>\n",
    "  </td>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "kL2C06ln6h48"
   },
   "source": [
    "In this tutorial, we implement the quantum approximate optimization algorithm (QAOA) for determining the Max-Cut of the Bristlecone processor's hardware graph (with random edge weights). To do so, we will:\n",
    "\n",
    "1. Define a random set of weights over the hardware graph.\n",
    "2. Construct a QAOA circuit using Cirq.\n",
    "3. Calculate the expected value of the QAOA cost function.\n",
    "4. Create an outer loop optimization to minimize the cost function.\n",
    "5. Compare cuts found from QAOA with random cuts."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "id": "bd9529db1c0b"
   },
   "outputs": [],
   "source": [
    "try:\n",
    "    import cirq\n",
    "except ImportError:\n",
    "    print(\"installing cirq...\")\n",
    "    !pip install --quiet cirq\n",
    "    print(\"installed cirq.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ACqqV6tJ7xXp"
   },
   "source": [
    "## 1. Defining a random set of weights over the hardware graph\n",
    "In order to make the problem easily embeddable on a quantum device, we will look at the problem of Max-Cut on the same graph that the device's qubit connectivity defines, but with random valued edge weights."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "id": "rKoMKEw46XY7"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                             (0, 5)────(0, 6)\n",
      "                                             │         │\n",
      "                                             │         │\n",
      "                                    (1, 4)───(1, 5)────(1, 6)────(1, 7)\n",
      "                                    │        │         │         │\n",
      "                                    │        │         │         │\n",
      "                           (2, 3)───(2, 4)───(2, 5)────(2, 6)────(2, 7)───(2, 8)\n",
      "                           │        │        │         │         │        │\n",
      "                           │        │        │         │         │        │\n",
      "                  (3, 2)───(3, 3)───(3, 4)───(3, 5)────(3, 6)────(3, 7)───(3, 8)───(3, 9)\n",
      "                  │        │        │        │         │         │        │        │\n",
      "                  │        │        │        │         │         │        │        │\n",
      "         (4, 1)───(4, 2)───(4, 3)───(4, 4)───(4, 5)────(4, 6)────(4, 7)───(4, 8)───(4, 9)───(4, 10)\n",
      "         │        │        │        │        │         │         │        │        │        │\n",
      "         │        │        │        │        │         │         │        │        │        │\n",
      "(5, 0)───(5, 1)───(5, 2)───(5, 3)───(5, 4)───(5, 5)────(5, 6)────(5, 7)───(5, 8)───(5, 9)───(5, 10)───(5, 11)\n",
      "         │        │        │        │        │         │         │        │        │        │\n",
      "         │        │        │        │        │         │         │        │        │        │\n",
      "         (6, 1)───(6, 2)───(6, 3)───(6, 4)───(6, 5)────(6, 6)────(6, 7)───(6, 8)───(6, 9)───(6, 10)\n",
      "                  │        │        │        │         │         │        │        │\n",
      "                  │        │        │        │         │         │        │        │\n",
      "                  (7, 2)───(7, 3)───(7, 4)───(7, 5)────(7, 6)────(7, 7)───(7, 8)───(7, 9)\n",
      "                           │        │        │         │         │        │\n",
      "                           │        │        │         │         │        │\n",
      "                           (8, 3)───(8, 4)───(8, 5)────(8, 6)────(8, 7)───(8, 8)\n",
      "                                    │        │         │         │\n",
      "                                    │        │         │         │\n",
      "                                    (9, 4)───(9, 5)────(9, 6)────(9, 7)\n",
      "                                             │         │\n",
      "                                             │         │\n",
      "                                             (10, 5)───(10, 6)\n"
     ]
    }
   ],
   "source": [
    "import cirq\n",
    "import sympy\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "working_device = cirq.google.Bristlecone\n",
    "print(working_device)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "gDLrxvAle_uC"
   },
   "source": [
    "Since a circuit covering the entire Bristlecone device cannot be easily simulated, a small subset of the device graph will be used instead."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "id": "XoXekxuQ8bI0"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import networkx as nx\n",
    "\n",
    "# Set the seed to determine the problem instance.\n",
    "np.random.seed(seed=11)\n",
    "\n",
    "# Identify working qubits from the device.\n",
    "device_qubits = working_device.qubits\n",
    "working_qubits = sorted(device_qubits)[:12]\n",
    "\n",
    "# Populate a networkx graph with working_qubits as nodes.\n",
    "working_graph = nx.Graph()\n",
    "for qubit in working_qubits:\n",
    "  working_graph.add_node(qubit)\n",
    "\n",
    "# Pair up all neighbors with random weights in working_graph.\n",
    "for qubit in working_qubits:\n",
    "  for neighbor in working_device.neighbors_of(qubit):\n",
    "    if neighbor in working_graph:\n",
    "      # Generate a randomly weighted edge between them. Here the weighting\n",
    "      # is a random 2 decimal floating point between 0 and 5.\n",
    "      working_graph.add_edge(\n",
    "          qubit, neighbor, weight=np.random.randint(0, 500) / 100\n",
    "      )\n",
    "\n",
    "nx.draw_circular(working_graph, node_size=1000, with_labels=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "8Tucm7os-uET"
   },
   "source": [
    "## 2. Construct the QAOA circuit\n",
    "Now that we have created a Max-Cut problem graph, it's time to generate the QAOA circuit following [Farhi et al.](https://arxiv.org/abs/1411.4028). For simplicity $p = 1$ is chosen."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "id": "niH8sty--Hu0"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "findfont: Font family ['Arial'] not found. Falling back to DejaVu Sans.\n"
     ]
    },
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1878.6200390625008\" height=\"640.0\"><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"45.0\" y2=\"45.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"95.0\" y2=\"95.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"145.0\" y2=\"145.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"195.0\" y2=\"195.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"245.0\" y2=\"245.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"295.0\" y2=\"295.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"345.0\" y2=\"345.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"395.0\" y2=\"395.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"445.0\" y2=\"445.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"495.0\" y2=\"495.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"545.0\" y2=\"545.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"34.7588671875\" x2=\"1848.6200390625008\" y1=\"595.0\" y2=\"595.0\" stroke=\"#1967d2\" stroke-width=\"1\" /><line x1=\"550.4654687500001\" x2=\"805.5233984375002\" y1=\"5.0\" y2=\"5.0\" stroke=\"black\" stroke-width=\"1\" /><line x1=\"550.4654687500001\" x2=\"805.5233984375002\" y1=\"635.0\" y2=\"635.0\" stroke=\"black\" stroke-width=\"1\" /><line x1=\"129.517734375\" x2=\"393.48289062500004\" y1=\"5.0\" y2=\"5.0\" stroke=\"black\" stroke-width=\"1\" /><line x1=\"129.517734375\" x2=\"393.48289062500004\" y1=\"635.0\" y2=\"635.0\" stroke=\"black\" stroke-width=\"1\" /><line x1=\"193.00902343750002\" x2=\"193.00902343750002\" y1=\"45.0\" y2=\"195.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"319.9916015625\" x2=\"319.9916015625\" y1=\"145.0\" y2=\"395.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"476.97417968750005\" x2=\"476.97417968750005\" y1=\"45.0\" y2=\"95.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"476.97417968750005\" x2=\"476.97417968750005\" y1=\"145.0\" y2=\"195.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"476.97417968750005\" x2=\"476.97417968750005\" y1=\"345.0\" y2=\"395.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"609.5031445312501\" x2=\"609.5031445312501\" y1=\"95.0\" y2=\"245.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"732.0321093750001\" x2=\"732.0321093750001\" y1=\"195.0\" y2=\"445.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"889.0146875000003\" x2=\"889.0146875000003\" y1=\"195.0\" y2=\"245.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"889.0146875000003\" x2=\"889.0146875000003\" y1=\"395.0\" y2=\"445.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"1035.9972656250002\" x2=\"1035.9972656250002\" y1=\"245.0\" y2=\"495.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"1182.9798437500003\" x2=\"1182.9798437500003\" y1=\"245.0\" y2=\"295.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"1182.9798437500003\" x2=\"1182.9798437500003\" y1=\"445.0\" y2=\"495.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"1329.9624218750005\" x2=\"1329.9624218750005\" y1=\"295.0\" y2=\"545.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"1476.9450000000006\" x2=\"1476.9450000000006\" y1=\"495.0\" y2=\"545.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"1623.9275781250008\" x2=\"1623.9275781250008\" y1=\"545.0\" y2=\"595.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"550.4654687500001\" x2=\"550.4654687500001\" y1=\"5.0\" y2=\"15.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"805.5233984375002\" x2=\"805.5233984375002\" y1=\"5.0\" y2=\"15.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"550.4654687500001\" x2=\"550.4654687500001\" y1=\"625.0\" y2=\"635.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"805.5233984375002\" x2=\"805.5233984375002\" y1=\"625.0\" y2=\"635.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"129.517734375\" x2=\"129.517734375\" y1=\"5.0\" y2=\"15.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"393.48289062500004\" x2=\"393.48289062500004\" y1=\"5.0\" y2=\"15.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"129.517734375\" x2=\"129.517734375\" y1=\"625.0\" y2=\"635.0\" stroke=\"black\" stroke-width=\"3\" /><line x1=\"393.48289062500004\" x2=\"393.48289062500004\" y1=\"625.0\" y2=\"635.0\" stroke=\"black\" stroke-width=\"3\" /><rect x=\"10.0\" y=\"25.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"45.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(0, 5): </text><rect x=\"10.0\" y=\"75.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"95.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(0, 6): </text><rect x=\"10.0\" y=\"125.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"145.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(1, 4): </text><rect x=\"10.0\" y=\"175.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(1, 5): </text><rect x=\"10.0\" y=\"225.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(1, 6): </text><rect x=\"10.0\" y=\"275.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"295.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(1, 7): </text><rect x=\"10.0\" y=\"325.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"345.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(2, 3): </text><rect x=\"10.0\" y=\"375.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"395.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(2, 4): </text><rect x=\"10.0\" y=\"425.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"445.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(2, 5): </text><rect x=\"10.0\" y=\"475.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"495.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(2, 6): </text><rect x=\"10.0\" y=\"525.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"545.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(2, 7): </text><rect x=\"10.0\" y=\"575.0\" width=\"49.517734375\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"0\" /><text x=\"34.7588671875\" y=\"595.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">(2, 8): </text><rect x=\"79.517734375\" y=\"25.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"45.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"75.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"95.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"125.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"145.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"175.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"225.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"275.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"295.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"325.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"345.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"375.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"395.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"425.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"445.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"475.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"495.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"525.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"545.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"79.517734375\" y=\"575.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"99.517734375\" y=\"595.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">H</text><rect x=\"129.517734375\" y=\"25.0\" width=\"126.98257812500002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"193.00902343750002\" y=\"45.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"129.517734375\" y=\"175.0\" width=\"126.98257812500002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"193.00902343750002\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(3.32*alpha)</text><rect x=\"256.5003125\" y=\"125.0\" width=\"126.98257812500002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"319.9916015625\" y=\"145.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"256.5003125\" y=\"375.0\" width=\"126.98257812500002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"319.9916015625\" y=\"395.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(3.01*alpha)</text><rect x=\"413.48289062500004\" y=\"25.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"476.97417968750005\" y=\"45.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"413.48289062500004\" y=\"75.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"476.97417968750005\" y=\"95.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(0.91*alpha)</text><rect x=\"413.48289062500004\" y=\"125.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"476.97417968750005\" y=\"145.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"413.48289062500004\" y=\"175.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"476.97417968750005\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(0.71*alpha)</text><rect x=\"413.48289062500004\" y=\"325.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"476.97417968750005\" y=\"345.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"413.48289062500004\" y=\"375.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"476.97417968750005\" y=\"395.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(1.25*alpha)</text><rect x=\"550.4654687500001\" y=\"75.0\" width=\"118.07535156250002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"609.5031445312501\" y=\"95.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"550.4654687500001\" y=\"225.0\" width=\"118.07535156250002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"609.5031445312501\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(2.8*alpha)</text><rect x=\"668.5408203125002\" y=\"175.0\" width=\"126.98257812500002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"732.0321093750001\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"668.5408203125002\" y=\"425.0\" width=\"126.98257812500002\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"732.0321093750001\" y=\"445.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(3.88*alpha)</text><rect x=\"825.5233984375002\" y=\"175.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"889.0146875000003\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"825.5233984375002\" y=\"225.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"889.0146875000003\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(0.92*alpha)</text><rect x=\"825.5233984375002\" y=\"375.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"889.0146875000003\" y=\"395.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"825.5233984375002\" y=\"425.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"889.0146875000003\" y=\"445.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(1.4*alpha)</text><rect x=\"972.5059765625001\" y=\"225.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1035.9972656250002\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"972.5059765625001\" y=\"475.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1035.9972656250002\" y=\"495.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(3.85*alpha)</text><rect x=\"1119.4885546875003\" y=\"225.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1182.9798437500003\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"1119.4885546875003\" y=\"275.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1182.9798437500003\" y=\"295.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(2.53*alpha)</text><rect x=\"1119.4885546875003\" y=\"425.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1182.9798437500003\" y=\"445.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"1119.4885546875003\" y=\"475.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1182.9798437500003\" y=\"495.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(0.37*alpha)</text><rect x=\"1266.4711328125004\" y=\"275.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1329.9624218750005\" y=\"295.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"1266.4711328125004\" y=\"525.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1329.9624218750005\" y=\"545.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(2.31*alpha)</text><rect x=\"1413.4537109375005\" y=\"475.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1476.9450000000006\" y=\"495.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"1413.4537109375005\" y=\"525.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1476.9450000000006\" y=\"545.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(0.81*alpha)</text><rect x=\"1560.4362890625007\" y=\"525.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1623.9275781250008\" y=\"545.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ</text><rect x=\"1560.4362890625007\" y=\"575.0\" width=\"126.98257812500003\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1623.9275781250008\" y=\"595.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">ZZ^(0.91*alpha)</text><rect x=\"1707.4188671875008\" y=\"25.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"45.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"75.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"95.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"125.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"145.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"175.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"225.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"275.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"295.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"325.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"345.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"375.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"395.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"425.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"445.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"475.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"495.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"525.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"545.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1707.4188671875008\" y=\"575.0\" width=\"61.201171875\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1738.0194531250008\" y=\"595.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"14px\" font-family=\"Arial\">X^beta</text><rect x=\"1788.6200390625008\" y=\"25.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"45.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"75.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"95.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"125.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"145.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"175.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"195.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"225.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"245.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"275.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"295.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"325.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"345.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"375.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"395.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"425.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"445.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"475.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"495.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"525.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"545.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text><rect x=\"1788.6200390625008\" y=\"575.0\" width=\"40\" height=\"40\" stroke=\"black\" fill=\"white\" stroke-width=\"1\" /><text x=\"1808.6200390625008\" y=\"595.0\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"18px\" font-family=\"Arial\">M</text></svg>"
      ],
      "text/plain": [
       "<cirq.contrib.svg.svg.SVGCircuit at 0x7f090bf9def0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from cirq.contrib.svg import SVGCircuit\n",
    "\n",
    "# Symbols for the rotation angles in the QAOA circuit.\n",
    "alpha = sympy.Symbol('alpha')\n",
    "beta = sympy.Symbol('beta')\n",
    "\n",
    "qaoa_circuit = cirq.Circuit(\n",
    "    # Prepare uniform superposition on working_qubits == working_graph.nodes\n",
    "    cirq.H.on_each(working_graph.nodes()),\n",
    "\n",
    "    # Do ZZ operations between neighbors u, v in the graph. Here, u is a qubit,\n",
    "    # v is its neighboring qubit, and w is the weight between these qubits.\n",
    "    (cirq.ZZ(u, v) ** (alpha * w['weight']) for (u, v, w) in working_graph.edges(data=True)),\n",
    "\n",
    "    # Apply X operations along all nodes of the graph. Again working_graph's\n",
    "    # nodes are the working_qubits. Note here we use a moment\n",
    "    # which will force all of the gates into the same line.\n",
    "    cirq.Moment(cirq.X(qubit) ** beta for qubit in working_graph.nodes()),\n",
    "    \n",
    "    # All relevant things can be computed in the computational basis.\n",
    "    (cirq.measure(qubit) for qubit in working_graph.nodes()),\n",
    ")\n",
    "SVGCircuit(qaoa_circuit)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "-zbI-2KUMU66"
   },
   "source": [
    "## 3. Calculating the expected value of the QAOA cost Hamiltonian\n",
    "Now that we have created a parameterized QAOA circuit, we need a way to calculate expectation values of the cost Hamiltonian. For Max-Cut, the cost Hamiltonian is\n",
    "\n",
    "$$\n",
    "    H_C = \\frac{1}{2} \\sum_{\\langle i, j\\rangle} w_{ij} (1 - Z_i Z_j )\n",
    "$$\n",
    "\n",
    "where $\\langle i, j \\rangle$ denotes neighboring qubits, $w_{ij}$ is the weight of edge $ij$, and $Z$ is the usual Pauli-$Z$ matrix. The expectation value of this cost Hamiltonian is $\\langle \\alpha, \\beta | H_C | \\alpha, \\beta \\rangle$ where $|\\alpha, \\beta\\rangle$ is the quantum state prepared by our `qaoa_circuit`. This is the cost function we need to estimate.\n",
    "\n",
    "> Pauli-$Z$ has eigenvalues $\\pm 1$. If qubits $i$ and $j$ are in the same eigenspace, then $\\langle Z_i Z_j \\rangle = 1$ and so $\\frac{1}{2} w_{ij} \\langle 1 - Z_i Z_j \\rangle = 0$. In the Max-Cut language, this means that edge $ij$ does not contribute to the cost. If qubits $i$ and $j$ are in the opposite eigenspace, then $\\langle Z_i Z_j \\rangle = -1$ and so $\\frac{1}{2} w_{ij} \\langle 1 - Z_i Z_j \\rangle = w_{ij}$. In the Max-Cut language, this means that edge $ij$ contributes its weight $w_{ij}$ to the cost. \n",
    "\n",
    "To estimate the cost function, we need to estimate the (weighted) sum of all $ZZ$ pairs in the graph. Since these terms are diagonal in the same basis (namely, the computational basis), they can measured simultaneously. Given a set of measurements (samples), the function below estimates the cost function.\n",
    "\n",
    "> *Note*: We say \"estimate the cost\" instead of \"compute the cost\" since we are sampling from the circuit. This is how the cost would be evaluated when running QAOA on a real quantum processor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "id": "IqUn4uv9_IVo"
   },
   "outputs": [],
   "source": [
    "def estimate_cost(graph, samples):\n",
    "    \"\"\"Estimate the cost function of the QAOA on the given graph using the\n",
    "    provided computational basis bitstrings.\"\"\"\n",
    "    cost_value = 0.0\n",
    "\n",
    "    # Loop over edge pairs and compute contribution.\n",
    "    for u, v, w in graph.edges(data=True):\n",
    "      u_samples = samples[str(u)]\n",
    "      v_samples = samples[str(v)]\n",
    "\n",
    "      # Determine if it was a +1 or -1 eigenvalue.\n",
    "      u_signs = (-1)**u_samples\n",
    "      v_signs = (-1)**v_samples\n",
    "      term_signs = u_signs * v_signs\n",
    "\n",
    "      # Add scaled term to total cost.\n",
    "      term_val = np.mean(term_signs) * w['weight']\n",
    "      cost_value += term_val\n",
    "\n",
    "    return -cost_value"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "XLO0RRZarb_a"
   },
   "source": [
    "Now we can sample from the `qaoa_circuit` and use `estimate_expectation` to calculate the expectation value of the cost function for the circuit. Below, we use arbitrary values for $\\alpha$ and $\\beta$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "id": "gZmW7NkBrl5Z"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Alpha = 0.785 Beta = 1.571\n",
      "Estimated cost: -0.22279300000000013\n"
     ]
    }
   ],
   "source": [
    "alpha_value = np.pi / 4\n",
    "beta_value = np.pi / 2\n",
    "sim = cirq.Simulator()\n",
    "\n",
    "sample_results = sim.sample(\n",
    "    qaoa_circuit, \n",
    "    params={alpha: alpha_value, beta: beta_value}, \n",
    "    repetitions=20_000\n",
    ")\n",
    "print(f'Alpha = {round(alpha_value, 3)} Beta = {round(beta_value, 3)}')\n",
    "print(f'Estimated cost: {estimate_cost(working_graph, sample_results)}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rBmCr_DCsbtf"
   },
   "source": [
    "## 4. Outer loop optimization\n",
    "Now that we can compute the cost function, we want to find the optimal cost. There are lots of different techniques to choose optimal parameters for the `qaoa_circuit`. Since there are only two parameters here ($\\alpha$ and $\\beta$), we can keep things simple and sweep over incremental pairings using `np.linspace` and track the minimum value found along the way."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "id": "ma0pVZwSThQx"
   },
   "outputs": [],
   "source": [
    "# Set the grid size = number of points in the interval [0, 2π).\n",
    "grid_size = 5\n",
    "\n",
    "exp_values = np.empty((grid_size, grid_size))\n",
    "par_values = np.empty((grid_size, grid_size, 2))\n",
    "\n",
    "for i, alpha_value in enumerate(np.linspace(0, 2 * np.pi, grid_size)):\n",
    "  for j, beta_value in enumerate(np.linspace(0, 2 * np.pi, grid_size)):\n",
    "    samples = sim.sample(\n",
    "        qaoa_circuit,\n",
    "        params={alpha: alpha_value, beta: beta_value},\n",
    "        repetitions=20000\n",
    "    )\n",
    "    exp_values[i][j] = estimate_cost(working_graph, samples)\n",
    "    par_values[i][j] = alpha_value, beta_value"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "vp-LmYLnvkzM"
   },
   "source": [
    "We can now visualize the cost as a function of $\\alpha$ and $\\beta$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "id": "ZdSqBSuNuckY"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title('Heatmap of QAOA Cost Function Value')\n",
    "plt.xlabel(r'$\\alpha$')\n",
    "plt.ylabel(r'$\\beta$')\n",
    "plt.imshow(exp_values);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "d6dd7eb92995"
   },
   "source": [
    "This heatmap is coarse because we selected a small `grid_size`. To see more detail in the heatmap, one can increase the `grid_size`. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "BzwnTYWpuKZM"
   },
   "source": [
    "## 5. Compare cuts\n",
    "\n",
    "We now compare the optimal cut found by QAOA to a randomly selected cut. The helper function draws the `working_graph` and colors nodes in different sets different colors. Additionally, we print out the cost function for the given cut."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "id": "6nD1YQr39KOI"
   },
   "outputs": [],
   "source": [
    "def output_cut(S_partition):\n",
    "  \"\"\"Plot and output the graph cut information.\"\"\"\n",
    "\n",
    "  # Generate the colors.\n",
    "  coloring = []\n",
    "  for node in working_graph:\n",
    "    if node in S_partition:\n",
    "      coloring.append('blue')\n",
    "    else:\n",
    "      coloring.append('red')\n",
    "\n",
    "  # Get the weights\n",
    "  edges = working_graph.edges(data=True)\n",
    "  weights = [w['weight'] for (u,v, w) in edges]\n",
    "\n",
    "  nx.draw_circular(\n",
    "      working_graph,\n",
    "      node_color=coloring,\n",
    "      node_size=1000,\n",
    "      with_labels=True,\n",
    "      width=weights)\n",
    "  plt.show()\n",
    "  size = nx.cut_size(working_graph, S_partition, weight='weight')\n",
    "  print(f'Cut size: {size}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "224d0f64a553"
   },
   "source": [
    "As an example, we can test this function with all nodes in the same set, for which the cut size should be zero."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "id": "7a478de8f06a"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cut size: 0\n"
     ]
    }
   ],
   "source": [
    "# Test with the empty S and all nodes placed in T.\n",
    "output_cut([])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "t2DOLJ_3-cJt"
   },
   "source": [
    "To get cuts using the QAOA we will first need to extract the best control parameters found during the sweep:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "id": "xg5vPCt_vIrf"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best control parameters: [3.14159265 6.28318531]\n"
     ]
    }
   ],
   "source": [
    "best_exp_index = np.unravel_index(np.argmax(exp_values), exp_values.shape)\n",
    "best_parameters = par_values[best_exp_index]\n",
    "print(f'Best control parameters: {best_parameters}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "IRab6h39voLn"
   },
   "source": [
    "Each bitstring can be seen as a candidate cut in the graph. The qubits that measured 0 correspond to that qubit being in one cut partition and a qubit that measured to 1 corresponds to that qubit being in the other cut partition. Now that we've found good parameters for the `qaoa_circuit`, we can just sample some bistrings, iterate over them and pick the one that gives the best cut:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "id": "_1NYplopuFzu"
   },
   "outputs": [],
   "source": [
    "# Number of candidate cuts to sample.\n",
    "num_cuts = 100\n",
    "candidate_cuts = sim.sample(\n",
    "    qaoa_circuit,\n",
    "    params={alpha: best_parameters[0], beta: best_parameters[1]},\n",
    "    repetitions=num_cuts\n",
    ")\n",
    "\n",
    "# Variables to store best cut partitions and cut size.\n",
    "best_qaoa_S_partition = set()\n",
    "best_qaoa_T_partition = set()\n",
    "best_qaoa_cut_size = -np.inf\n",
    "\n",
    "# Analyze each candidate cut.\n",
    "for i in range(num_cuts):\n",
    "  candidate = candidate_cuts.iloc[i]\n",
    "  one_qubits = set(candidate[candidate==1].index)\n",
    "  S_partition = set()\n",
    "  T_partition = set()\n",
    "  for node in working_graph:\n",
    "    if str(node) in one_qubits:\n",
    "      # If a one was measured add node to S partition.\n",
    "      S_partition.add(node)\n",
    "    else:\n",
    "      # Otherwise a zero was measured so add to T partition.\n",
    "      T_partition.add(node)\n",
    "\n",
    "  cut_size = nx.cut_size(\n",
    "      working_graph, S_partition, T_partition, weight='weight')\n",
    "  \n",
    "  # If you found a better cut update best_qaoa_cut variables.\n",
    "  if cut_size > best_qaoa_cut_size:\n",
    "    best_qaoa_cut_size = cut_size\n",
    "    best_qaoa_S_partition = S_partition\n",
    "    best_qaoa_T_partition = T_partition"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "auo2VuTm6haO"
   },
   "source": [
    "The QAOA is known to do just a little better better than random guessing for Max-Cut on 3-regular graphs at `p=1`. You can use very similar logic to the code above, but now instead of relying on the QAOA to decied your `S_partition` and `T_partition` you can just pick then randomly:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "id": "UC5Sjgt-2tjC"
   },
   "outputs": [],
   "source": [
    "import random\n",
    "\n",
    "best_random_S_partition = set()\n",
    "best_random_T_partition = set()\n",
    "best_random_cut_size = -9999\n",
    "\n",
    "# Randomly build candidate sets.\n",
    "for i in range(num_cuts):\n",
    "  S_partition = set()\n",
    "  T_partition = set()\n",
    "  for node in working_graph:\n",
    "    if random.random() > 0.5:\n",
    "      # If we flip heads add to S.\n",
    "      S_partition.add(node)\n",
    "    else:\n",
    "      # Otherwise add to T.\n",
    "      T_partition.add(node)\n",
    "\n",
    "  cut_size = nx.cut_size(\n",
    "      working_graph, S_partition, T_partition, weight='weight')\n",
    "  \n",
    "  # If you found a better cut update best_random_cut variables.\n",
    "  if cut_size > best_random_cut_size:\n",
    "    best_random_cut_size = cut_size\n",
    "    best_random_S_partition = S_partition\n",
    "    best_random_T_partition = T_partition"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "id": "2MldXTYP8QA2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-----QAOA-----\n"
     ]
    },
    {
     "data": {
      "image/png": "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3y+/9Lm75++et7OTRbNRI/LCBdWKJLBChPBZKefOnWOTJk0UD//IkSMZExOT77QePSIXLiTLlZMF0NNTfshzPvSenqSjYxqB2wTGE/Biq1atzFA620SSJN67d4/79u3jkiVLOGDAADo6OuarRejp6clWrVpx+PDh/PLLL/nXX389s+VuTUiSxPXr19Pb29uoXN27d+e9e/cKlf65c+fYuHFjRboODg6cOXNmvlvQBgO5bx/5yityXE9Pz9y7QfV60sODdHIi+/YlT50qVBEENoKYx2dlpKSkYN68efjvf/+bNam4evXqWLNmDdq1a1eotEkgIgI4cwY4cQK4eRNISZHn5VWtCjz3HFC3biKaNy+PuLjYrO8FBQXZVBxHS7Fz505069Yt63OZMmUwcuRIhISE4MKFCwgLCzM5Oo2vr68iTFvDhg1Rt25dq4tOAwCRkZEYNWoUduzYodjv7e2N5cuXo1+/fvmKuZqSkoK5c+diwYIFion0asUQTUgA/vlHvu/PngXi4uT1f728gBYtgGbNgAYNMpf4EhQLtFZewVNOnDjB+vXrK8aLPvroIyYkJFjUjpyR/EeOHGnR/G2F1157TXGd5s+frziemJjI06dP89tvv+VHH33EV199leXKlTO5dWhvb886deqwV69enDNnDnfs2MGwsDAaDAaNSvwUSZK4ZcsWlilTxsjuLl268NatWyalc/z4cdarV0/xfVtdNUJgOwjhswISExM5ceJE2tnZZT38devW5bFjxzSxJzg4WFERubu7MzY2VhNbrJWwsDCjMb3IyEiTvvvw4UP+/vvvXL58Od9//32+8MILRvPTnrW5ubnxueee45AhQ/j555/z4MGDfPDggZlLnHdZ3n33XSMbPTw8GBAQkOeYZkJCAj/66CPFPQ+ArVq14qVLlyxcCkFxQwifxvz999+sWbOm4i1/+vTpTE5O1tSuNm3aKCqklStXamqPtTFp0iTF9enTp0+h0jMYDLx27Rp37drFTz/9lH369GG9evVob29vsiD6+PjwlVde4Ycffsi1a9fy5MmTFust2LNnDytUqGBkU/v27RkeHq44988//2T16tUV5+n1ei5fvpzp6ekWsVdQvBHCpxGxsbEcPXq04uH39/fn2bNntTaNJLlp0yYj22zVI1FtkpKSWKpUKcX1+fPPP82SV3JyMv/55x9u2LCB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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cut size: 28.07\n",
      "\n",
      "\n",
      "-----RANDOM-----\n"
     ]
    },
    {
     "data": {
      "image/png": "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c03riI6ONpo7FRoaWuB0jh07xnr16inScXZ25oIFC0rMlBSBZdm2bZvCAzxr69y5M2+asHSauZk7dy5nzpyptRmFRgifFZKUlMQpU6Yogt0OHTrUql2dTUWSJKMo9jt37jRLXkuWLFHk88ILLxTo+4mJiXz//feNlpxp06YNw8LCzGKzQJDFo0ePOGDAACPxc3d351dffaWpg8m9e/fo7+9vXcsuFQAhfFbMyZMn2bBhQ4Wr8+7du7U2q8gsXbpU8SB36tRJ9TwMBgNr1aqlyOf77783+fu///47a9Soofi+m5sbV6xYYfMebQLb4qeffjLyiAbA9u3baxoDuHfv3vzhhx80y78oCOGzclJTUzlz5kxFsNu33nrLKl2dTSU6Otpo3ltERISqeezfv1+Rfrly5UxyPomNjeXIkSONKpkXX3yR165dU9VGgcBUYmJiOHz4cKP70tXVlUuXLtUkBvDBgwf58ssvWzxfNRDCZyPkDnZrra7OpjJo0CDFAzxlyhRV08/tRPPhhx/+63d+/vlnVq5cWfE9T09Prl692mavs6B4ceDAAVarVs1IAJ977jmLxwCWJIl169bllSIu5q0FQvhsiPT0dH766acKhw1rc3U2lePHjyse3LJly6oWvebOnTsK70udTsfr16/ne350dLSREAPgq6++atOea4LiSUJCAidMmGA09uzk5MR58+ZZdNxt2bJlnDhxosXyUwshfDZIWFgYW7dunX3De3t789tvv7WpVokkSWzSpIniwQ0KClIl7dmzZyvS7datW77nbt++neXLl1ecX7p0aQYFBdnU9RSUPA4fPsw6deoYvbA1bdqU586ds4gN0dHRrFSpks1FKhLCZ6NkZGRw+fLlimC31uLqbCqBgYGKB/b5558vcpp5hUbbs2eP0Xn3799nnz59jCqN3r17Myoqqsh2CASWIDk5mdOmTTOaX2rJGMDvvPMO169fb/Z81EQIn42TO9ith4cHV65caROeh3kFjy7qZPCdO3cq0vP391cM/EuSxE2bNhmtxO7r68tt27YVtUgCgSacPn2ajRs3NnqRq1+/Po8fP27WvE+cOMFWrVqZNQ+1EcJXDMgKdptTRLR2dTaV3MsFjR49ukjpderUSZHevHnzso/duXOH//nPf4wqh4EDB1p8fUCBQG1SU1M5e/ZsoxiydnZ2nDRpEhMTE82S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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cut size: 23.500000000000004\n"
     ]
    }
   ],
   "source": [
    "print('-----QAOA-----')\n",
    "output_cut(best_qaoa_S_partition)\n",
    "\n",
    "print('\\n\\n-----RANDOM-----')\n",
    "output_cut(best_random_S_partition)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "b928b82a9902"
   },
   "source": [
    "For this problem instance, one should see that $p = 1$ QAOA performs better, on average, than randomly guessing."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "qaoa.ipynb",
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
